package com.katian.etat_compte;

import java.util.Collection;

/**
 * User: csavard
 * Date: 13-05-19
 */
public class Commande {

    private long no;
    private Collection<ProduitItem> produitItems;


    public long getNo() {
        return no;
    }

    public void setNo(long no) {
        this.no = no;
    }

    public Collection<ProduitItem> getProduitItems() {
        return produitItems;
    }

    public void setProduitItems(Collection<ProduitItem> produitItems) {
        this.produitItems = produitItems;
    }

    public double getNbCaisse() {
        double nbCaisses = 0;

        if (produitItems != null) {
            for (ProduitItem item : produitItems) {

                nbCaisses += item.getNbCaisse();

            }
        }

        return nbCaisses;
    }

    public static class ProduitItem {
        private String retailerName;
        private Produit produit;
        private int nb;

        public String getRetailerName() {
            return retailerName;
        }

        public void setRetailerName(String retailerName) {
            this.retailerName = retailerName;
        }

        public Produit getProduit() {
            return produit;
        }

        public void setProduit(Produit produit) {
            this.produit = produit;
        }

        public int getNb() {
            return nb;
        }

        public void setNb(int nb) {
            this.nb = nb;
        }

        public double getNbCaisse() {
            double nbCaisses = 0;
            Produit produit = getProduit();
            if (produit.isUnknow()) {
                throw new RuntimeException("Le code de produit: " + produit.getCode() + " est introuvable.");
            }
            nbCaisses += (double) getNb() / (double) produit.getUniteParCaisse();


            return nbCaisses;
        }

    }

}
